package com.ruoyi.proposal.dto;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 提案数据传输对象
 * 用于前后端数据传输
 */
public class ProposalDTO {
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 状态
     */
    private String status;

    /**
     * 月份
     */
    private String month;

    /**
     * 部门名称
     */
    private String departmentName;

    /**
     * 提案人姓名
     */
    private String proposerName;

    /**
     * 提案人ID
     */
    private Integer proposerId;

    /**
     * 提案时间
     */
    private Date proposalTime;

    /**
     * 提案类型名称
     */
    private String proposalTypeName;

    /**
     * 提案标题
     */
    private String title;

    /**
     * 提案内容
     */
    private String content;

    /**
     * 图片
     */
    private String image;

    /**
     * 类别名称
     */
    private String categoryName;

    /**
     * 是否公司推进
     */
    private Boolean isCompanyPromoted;

    /**
     * 是否需要财务介入
     */
    private Boolean isFinancePromoted;

    /**
     * 是否需要质量介入
     */
    private Boolean isQualityPromoted;

    /**
     * 可行性评估部门
     */
    private String feasibilityDepartment;

    /**
     * 可行性评估结果
     */
    private String feasibilityResult;

    /**
     * 可行性评估时间
     */
    private Date feasibilityTime;

    /**
     * 可行性评估意见
     */
    private String feasibilityOpinion;

    /**
     * 实施部门
     */
    private String implementationDepartment;

    /**
     * 实施开始时间
     */
    private Date implementationStartTime;

    /**
     * 实施结束时间
     */
    private Date implementationEndTime;

    /**
     * 实施人员1姓名
     */
    private String implementer1Name;

    /**
     * 实施人员1工号
     */
    private Integer implementer1EmployeeId;

    /**
     * 实施人员2姓名
     */
    private String implementer2Name;

    /**
     * 实施人员2工号
     */
    private Integer implementer2EmployeeId;

    /**
     * 实施人员3姓名
     */
    private String implementer3Name;

    /**
     * 实施人员3工号
     */
    private Integer implementer3EmployeeId;

    /**
     * 实施人员4姓名
     */
    private String implementer4Name;

    /**
     * 实施人员4工号
     */
    private Integer implementer4EmployeeId;

    /**
     * 实施人员5姓名
     */
    private String implementer5Name;

    /**
     * 实施人员5工号
     */
    private Integer implementer5EmployeeId;

    /**
     * 各项评分细则
     */
    private Integer supervisorCompleteness;
    private Integer supervisorApplicability;
    private Integer supervisorInnovation;
    private Integer supervisorSafetyEnvironment;
    private Integer supervisorQuality;
    private Integer supervisorEfficiency;
    private Integer supervisorCost;
    private Integer supervisorPromotion;
    private Integer supervisorEffort;

    private Integer managerCompleteness;
    private Integer managerApplicability;
    private Integer managerInnovation;
    private Integer managerSafetyEnvironment;
    private Integer managerQuality;
    private Integer managerEfficiency;
    private Integer managerCost;
    private Integer managerPromotion;
    private Integer managerEffort;

    private Integer committeeCompleteness;
    private Integer committeeApplicability;
    private Integer committeeInnovation;
    private Integer committeeSafetyEnvironment;
    private Integer committeeQuality;
    private Integer committeeEfficiency;
    private Integer committeeCost;
    private Integer committeePromotion;
    private Integer committeeEffort;

    /**
     * 主管总分
     */
    private Integer supervisorTotalScore;

    /**
     * 经理总分
     */
    private Integer managerTotalScore;

    /**
     * 委员会总分
     */
    private Integer committeeTotalScore;

    /**
     * 最终结果
     */
    private String finalResult;

    /**
     * 奖金
     */
    private BigDecimal bonus;

    /**
     * 每月节省金额
     */
    private BigDecimal monthlySaving;

    /**
     * 一次性节省金额
     */
    private BigDecimal oneTimeSaving;

    /**
     * 备注
     */
    private String notes;


    // Getter和Setter方法

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getMonth() {
        return month;
    }

    public void setMonth(String month) {
        this.month = month;
    }

    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    public String getProposerName() {
        return proposerName;
    }

    public void setProposerName(String proposerName) {
        this.proposerName = proposerName;
    }

    public Integer getProposerId() {
        return proposerId;
    }

    public void setProposerId(Integer proposerId) {
        this.proposerId = proposerId;
    }

    public Date getProposalTime() {
        return proposalTime;
    }

    public void setProposalTime(Date proposalTime) {
        this.proposalTime = proposalTime;
    }

    public String getProposalTypeName() {
        return proposalTypeName;
    }

    public void setProposalTypeName(String proposalTypeName) {
        this.proposalTypeName = proposalTypeName;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public Boolean getIsCompanyPromoted() {
        return isCompanyPromoted;
    }

    public void setIsCompanyPromoted(Boolean isCompanyPromoted) {
        this.isCompanyPromoted = isCompanyPromoted;
    }

    public Boolean getIsFinancePromoted() {
        return isFinancePromoted;
    }

    public void setIsFinancePromoted(Boolean isFinancePromoted) {
        this.isFinancePromoted = isFinancePromoted;
    }

    public Boolean getIsQualityPromoted() {
        return isQualityPromoted;
    }

    public void setIsQualityPromoted(Boolean isQualityPromoted) {
        this.isQualityPromoted = isQualityPromoted;
    }

    public String getFeasibilityDepartment() {
        return feasibilityDepartment;
    }

    public void setFeasibilityDepartment(String feasibilityDepartment) {
        this.feasibilityDepartment = feasibilityDepartment;
    }

    public String getFeasibilityResult() {
        return feasibilityResult;
    }

    public void setFeasibilityResult(String feasibilityResult) {
        this.feasibilityResult = feasibilityResult;
    }

    public Date getFeasibilityTime() {
        return feasibilityTime;
    }

    public void setFeasibilityTime(Date feasibilityTime) {
        this.feasibilityTime = feasibilityTime;
    }

    public String getFeasibilityOpinion() {
        return feasibilityOpinion;
    }

    public void setFeasibilityOpinion(String feasibilityOpinion) {
        this.feasibilityOpinion = feasibilityOpinion;
    }

    public String getImplementationDepartment() {
        return implementationDepartment;
    }

    public void setImplementationDepartment(String implementationDepartment) {
        this.implementationDepartment = implementationDepartment;
    }

    public Date getImplementationStartTime() {
        return implementationStartTime;
    }

    public void setImplementationStartTime(Date implementationStartTime) {
        this.implementationStartTime = implementationStartTime;
    }

    public Date getImplementationEndTime() {
        return implementationEndTime;
    }

    public void setImplementationEndTime(Date implementationEndTime) {
        this.implementationEndTime = implementationEndTime;
    }

    public String getImplementer1Name() {
        return implementer1Name;
    }

    public void setImplementer1Name(String implementer1Name) {
        this.implementer1Name = implementer1Name;
    }

    public Integer getImplementer1EmployeeId() {
        return implementer1EmployeeId;
    }

    public void setImplementer1EmployeeId(Integer implementer1EmployeeId) {
        this.implementer1EmployeeId = implementer1EmployeeId;
    }

    public String getImplementer2Name() {
        return implementer2Name;
    }

    public void setImplementer2Name(String implementer2Name) {
        this.implementer2Name = implementer2Name;
    }

    public Integer getImplementer2EmployeeId() {
        return implementer2EmployeeId;
    }

    public void setImplementer2EmployeeId(Integer implementer2EmployeeId) {
        this.implementer2EmployeeId = implementer2EmployeeId;
    }

    public String getImplementer3Name() {
        return implementer3Name;
    }

    public void setImplementer3Name(String implementer3Name) {
        this.implementer3Name = implementer3Name;
    }

    public Integer getImplementer3EmployeeId() {
        return implementer3EmployeeId;
    }

    public void setImplementer3EmployeeId(Integer implementer3EmployeeId) {
        this.implementer3EmployeeId = implementer3EmployeeId;
    }

    public String getImplementer4Name() {
        return implementer4Name;
    }

    public void setImplementer4Name(String implementer4Name) {
        this.implementer4Name = implementer4Name;
    }

    public Integer getImplementer4EmployeeId() {
        return implementer4EmployeeId;
    }

    public void setImplementer4EmployeeId(Integer implementer4EmployeeId) {
        this.implementer4EmployeeId = implementer4EmployeeId;
    }

    public String getImplementer5Name() {
        return implementer5Name;
    }

    public void setImplementer5Name(String implementer5Name) {
        this.implementer5Name = implementer5Name;
    }

    public Integer getImplementer5EmployeeId() {
        return implementer5EmployeeId;
    }

    public void setImplementer5EmployeeId(Integer implementer5EmployeeId) {
        this.implementer5EmployeeId = implementer5EmployeeId;
    }

    public Integer getSupervisorCompleteness() {
        return supervisorCompleteness;
    }

    public void setSupervisorCompleteness(Integer supervisorCompleteness) {
        this.supervisorCompleteness = supervisorCompleteness;
    }

    public Integer getSupervisorApplicability() {
        return supervisorApplicability;
    }

    public void setSupervisorApplicability(Integer supervisorApplicability) {
        this.supervisorApplicability = supervisorApplicability;
    }

    public Integer getSupervisorInnovation() {
        return supervisorInnovation;
    }

    public void setSupervisorInnovation(Integer supervisorInnovation) {
        this.supervisorInnovation = supervisorInnovation;
    }

    public Integer getSupervisorSafetyEnvironment() {
        return supervisorSafetyEnvironment;
    }

    public void setSupervisorSafetyEnvironment(Integer supervisorSafetyEnvironment) {
        this.supervisorSafetyEnvironment = supervisorSafetyEnvironment;
    }

    public Integer getSupervisorQuality() {
        return supervisorQuality;
    }

    public void setSupervisorQuality(Integer supervisorQuality) {
        this.supervisorQuality = supervisorQuality;
    }

    public Integer getSupervisorEfficiency() {
        return supervisorEfficiency;
    }

    public void setSupervisorEfficiency(Integer supervisorEfficiency) {
        this.supervisorEfficiency = supervisorEfficiency;
    }

    public Integer getSupervisorCost() {
        return supervisorCost;
    }

    public void setSupervisorCost(Integer supervisorCost) {
        this.supervisorCost = supervisorCost;
    }

    public Integer getSupervisorPromotion() {
        return supervisorPromotion;
    }

    public void setSupervisorPromotion(Integer supervisorPromotion) {
        this.supervisorPromotion = supervisorPromotion;
    }

    public Integer getSupervisorEffort() {
        return supervisorEffort;
    }

    public void setSupervisorEffort(Integer supervisorEffort) {
        this.supervisorEffort = supervisorEffort;
    }

    public Integer getManagerCompleteness() {
        return managerCompleteness;
    }

    public void setManagerCompleteness(Integer managerCompleteness) {
        this.managerCompleteness = managerCompleteness;
    }

    public Integer getManagerApplicability() {
        return managerApplicability;
    }

    public void setManagerApplicability(Integer managerApplicability) {
        this.managerApplicability = managerApplicability;
    }

    public Integer getManagerInnovation() {
        return managerInnovation;
    }

    public void setManagerInnovation(Integer managerInnovation) {
        this.managerInnovation = managerInnovation;
    }

    public Integer getManagerSafetyEnvironment() {
        return managerSafetyEnvironment;
    }

    public void setManagerSafetyEnvironment(Integer managerSafetyEnvironment) {
        this.managerSafetyEnvironment = managerSafetyEnvironment;
    }

    public Integer getManagerQuality() {
        return managerQuality;
    }

    public void setManagerQuality(Integer managerQuality) {
        this.managerQuality = managerQuality;
    }

    public Integer getManagerEfficiency() {
        return managerEfficiency;
    }

    public void setManagerEfficiency(Integer managerEfficiency) {
        this.managerEfficiency = managerEfficiency;
    }

    public Integer getManagerCost() {
        return managerCost;
    }

    public void setManagerCost(Integer managerCost) {
        this.managerCost = managerCost;
    }

    public Integer getManagerPromotion() {
        return managerPromotion;
    }

    public void setManagerPromotion(Integer managerPromotion) {
        this.managerPromotion = managerPromotion;
    }

    public Integer getManagerEffort() {
        return managerEffort;
    }

    public void setManagerEffort(Integer managerEffort) {
        this.managerEffort = managerEffort;
    }

    public Integer getCommitteeCompleteness() {
        return committeeCompleteness;
    }

    public void setCommitteeCompleteness(Integer committeeCompleteness) {
        this.committeeCompleteness = committeeCompleteness;
    }

    public Integer getCommitteeApplicability() {
        return committeeApplicability;
    }

    public void setCommitteeApplicability(Integer committeeApplicability) {
        this.committeeApplicability = committeeApplicability;
    }

    public Integer getCommitteeInnovation() {
        return committeeInnovation;
    }

    public void setCommitteeInnovation(Integer committeeInnovation) {
        this.committeeInnovation = committeeInnovation;
    }

    public Integer getCommitteeSafetyEnvironment() {
        return committeeSafetyEnvironment;
    }

    public void setCommitteeSafetyEnvironment(Integer committeeSafetyEnvironment) {
        this.committeeSafetyEnvironment = committeeSafetyEnvironment;
    }

    public Integer getCommitteeQuality() {
        return committeeQuality;
    }

    public void setCommitteeQuality(Integer committeeQuality) {
        this.committeeQuality = committeeQuality;
    }

    public Integer getCommitteeEfficiency() {
        return committeeEfficiency;
    }

    public void setCommitteeEfficiency(Integer committeeEfficiency) {
        this.committeeEfficiency = committeeEfficiency;
    }

    public Integer getCommitteeCost() {
        return committeeCost;
    }

    public void setCommitteeCost(Integer committeeCost) {
        this.committeeCost = committeeCost;
    }

    public Integer getCommitteePromotion() {
        return committeePromotion;
    }

    public void setCommitteePromotion(Integer committeePromotion) {
        this.committeePromotion = committeePromotion;
    }

    public Integer getCommitteeEffort() {
        return committeeEffort;
    }

    public void setCommitteeEffort(Integer committeeEffort) {
        this.committeeEffort = committeeEffort;
    }

    public Integer getSupervisorTotalScore() {
        return supervisorTotalScore;
    }

    public void setSupervisorTotalScore(Integer supervisorTotalScore) {
        this.supervisorTotalScore = supervisorTotalScore;
    }

    public Integer getManagerTotalScore() {
        return managerTotalScore;
    }

    public void setManagerTotalScore(Integer managerTotalScore) {
        this.managerTotalScore = managerTotalScore;
    }

    public Integer getCommitteeTotalScore() {
        return committeeTotalScore;
    }

    public void setCommitteeTotalScore(Integer committeeTotalScore) {
        this.committeeTotalScore = committeeTotalScore;
    }

    public String getFinalResult() {
        return finalResult;
    }

    public void setFinalResult(String finalResult) {
        this.finalResult = finalResult;
    }

    public BigDecimal getBonus() {
        return bonus;
    }

    public void setBonus(BigDecimal bonus) {
        this.bonus = bonus;
    }

    public BigDecimal getMonthlySaving() {
        return monthlySaving;
    }

    public void setMonthlySaving(BigDecimal monthlySaving) {
        this.monthlySaving = monthlySaving;
    }

    public BigDecimal getOneTimeSaving() {
        return oneTimeSaving;
    }

    public void setOneTimeSaving(BigDecimal oneTimeSaving) {
        this.oneTimeSaving = oneTimeSaving;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }
}
